特殊なファイルタイプ「フォルダ」

1998/03/14
Q:(一郎兄さん)
 のぶさん、この「フォルダ」とか「ドライブ」っていうファイルタイプは拡張子が関連付けられてないけど、何これ? 後「フォルダ」「ファイルフォルダ」の違いは?

[ファイルタイプ「フォルダ」等]
ファイルタイプ「フォルダ」等

A:(延さん)
 これらは非常に特殊なファイルタイプで、レジストリ上の正式名称は、フォルダが「folder」、ファイルフォルダが「Directory」、ドライブが「Drive」です。「フォルダ」や「ファイルフォルダ」は所謂「タイプの説明」ですね。

 ところでこの正式ファイルタイプ名にしろ、「タイプの説明」にしても現実のフォルダやドライブと同じ名称で紛らわしいです。つまり本当のフォルダやドライブの話をしているのか、ファイルタイプのそれとして話しをしているのか、こんがらがってしまいます。そこで今後の説明は、ファイルタイプ名のそれとして使う場合は、必ず「ファイルタイプ」という単語を冠します。更にそれでも区別しにくいので色をにします。「FONT COLOR」タグを認識できないブラウザでご覧の方は色についてはごめんなさい。

 因みに3つのファイルタイプ中、特に重要なのはファイルタイプ「フォルダ」です。他の二つはこのファイルタイプからその属性を継承しています。

Q:(貴子)
 属性を継承しているっていうのはどういうこと?

A:(延さん)
 「オブジェクト指向」ではよく使われることで、突き詰めると非常に難しい概念だと思うけど、まあ「ニワトリ」「鳥」一種であるということに近いですね。「鳥」の性質(属性)、たとえば「羽がある」という性質を「ニワトリ」は持っていて、さらに「ニワトリ」特有の、たとえば「食べるとうまい」とかの性質が加味されている。この場合「ニワトリ」は「鳥」の属性を継承していると表現できます。

 ファイルタイプ「ドライブ」は、ファイルタイプ「フォルダ」の属性を継承し、さらにファイルタイプ「ドライブ」特有の属性を持っています。具体的な属性としては「アクション」を継承しています。ファイルタイプ「ドライブ」はマイコンピュータなどに出てくるドライブに関連付けられています。ドライブのコンテキストメニューを見てください。

[ドライブのコンテキストメニュー]
ドライブのコンテキストメニュー

 「開く(O)」「エクスプローラ(E)」「検索(F)...」「DOSプロンプト@フォルダ(P)」の4つのメニューがあります。しかしファイルタイプ「ドライブ」には下図のように、「find」「DOSプロンプト@フォルダ(P)」(私はPowerToyのCommandPrompt From Hereを入れているのでこのアクションがあるが、元々はないアクションです)の2つのアクションしかありません。

[ファイルタイプ「ドライブ」]
ファイルタイプ「ドライブ」

 それぞれが「検索(F)...」「DOSプロンプト@フォルダ(P)」の2つのメニューに対応しています。では「開く(O)」「エクスプローラ(E)」のもう2つのメニューはどこから来ているのでしょうか。

[ファイルタイプ「フォルダ」]
ファイルタイプ「フォルダ」

 これはファイルタイプ「フォルダ」のデータですが、「open」「explore」2つにアクションがあります。これをファイルタイプ「ドライブ」は継承しているのです。この継承によってドライブに4つのメニューが出てくる訳です。ちょっと別の言い方をするとドライブはファイルタイプ「フォルダ」ファイルタイプ「ドライブ」両方の性質を持っているということが言えます。継承しているって意味が少しはわかったかな?

Q:(貴子)
 ンー、なんとなく。

A:(延さん)
 このことはファイルタイプ「ファイルフォルダ」も全く同じです。このファイルタイプはエクスプローラのフォルダと関連付けられていますが、同様にアクションは2つです。しかしファイルタイプ「フォルダ」から継承して4つのメニューが出ます。

 実はファイルタイプ「フォルダ」を継承しているものはもっと沢山あります。マイコンピュータコントロールパネルごみ箱ブリーフケースもそうです。他にも沢山あります。

Q:(憲さん)
 憲さんです。非常に重要なファイルタイプなんですね、ファイルタイプ「フォルダ」って。そうするとファイルタイプ「フォルダ」の内容を変更するとみんな変わってしまうということですか?

A:(延さん)
 いい質問だね。その通りなんだよ。まさしく継承しているというのはそういうことなんだ。実験してみようか。ファイルタイプ「フォルダ」に適当なアクションを追加してみよう。とりあえずアクション名は「メモ帳(M)」で、実際「notepad.exe」を関連付けてみよう。手順は説明済みだよね。

 一応設定後のファイルタイプの編集ダイアログをみてみよう。

[アクション追加後のファイルタイプ「フォルダ」]
アクション追加後のファイルタイプ「フォルダ」

 アクションを追加しました。では試しにマイコンピュータのコンテキストメニューを表示してみよう。

[アクション追加後のマイコンピュータのコンテキストメニュー]
アクション追加後のマイコンピュータのコンテキストメニュー

Q:(憲さん)
 な、な、なるほど。メニューが増えてますね。継承しているという意味が、憲さんにもよく分かりました。

A:(延さん)
 他のコントロールパネルなどにも追加されているはずだから見てみて。

 さらにこのファイルタイプ「フォルダ」にはとても興味深い現象が分かっているんだ。

Q:(憲さん)
 な、な、なんと。 何ですかそれは。

A:(延さん)
 因みにみなさん、エクスプローラには2種類あるのはご存知かな? ツリビューのあるものと、無いものです。前者を便宜上「エクスプローラ形式のエクスプローラ」と呼び、後者を「フォルダ形式のエクスプローラ」と呼びます。これは全く正式な名称ではないですが、Windows上正式な呼び分けがなされてないので、ここでは便宜上こういうことにしておきます。後者の「フォルダ形式のエクスプローラ」はマイコンピュータやコントロールパネルなんかが代表的ですね。

Q:(一郎兄さん)
 あれっ? マイコンピュータとかってエクスプローラだったんだ?

A:(延さん)
 そうです。これも一種のエクスプローラで、少なくとも実行しているアプリケーションは「explorer.exe」というもので「エクスプローラ形式のエクスプローラ」と同じものです。

 実は皆さんがWindowsを起動すると最初に目にする、デスクトップも特殊なエクスプローラの一種です。こちらも上記の分類でいくと「フォルダ形式のエクスプローラ」になりますが。

 それで、ファイルタイプ「フォルダ」の2つのアクションは、実はそれぞれこの2つの形式のエクスプローラに対応しています。「open」アクションに関連付けられ、「開く(O)」メニューで起動されるのが、「フォルダ形式のエクスプローラ」で、「explore」アクションに関連付けられていて、「エクスプローラ(E)」メニューで起動するのが「エクスプローラ形式のエクスプローラ」です。これらの違いはそれぞれメニューから起動してみるとよく分かると思いますが、基本的にはツリービューがあるか無いかの違いくらいです。

 それはいいのですが、問題は「標準アクション」なんです。皆さん標準アクションって覚えていますね。

Q:(一郎兄さん)
 メニューでは太字になっていて、ダブルクリックした時に起動されるアクションだろ。

A:(延さん)
 その通りですね。ファイルタイプの編集ダイアログであるアクションを選んで、「標準」ボタンをクリックすれば良かったのですよね。またそれがレジストリ上どのように記述されているかも既に説明しました。覚えてますか?

Q:(憲さん)
 「shell」キーの「標準」のデータにアクション名が記述されていたらそれが、もしその記述がなければ、「open」というアクションが「標準アクション」となる、でしたよね。

A:(延さん)
 その通りです。そこでもし「shell」キーの標準のデータに「open」と記述してある場合はどうなると思う?

Q:(憲さん)
 えっ、それはやはりその「open」が標準になるのでは。

A:(延さん)
 当然そうだよね。ということは、「shell」キーの標準のデータに「open」と記述してある場合と、何も記述がない場合では 、いずれも「open」アクションが標準アクションになって違いがないはずだよね。

 ところがこの両者で違いが出てくる場合があるのです。そこで区別するために、「shell」キーのデータに「標準アクション」が明記されている方を、「強い標準アクション」と呼び、明記されずデフォルトで「open」アクションが標準アクションになった場合を「緩やかな標準アクション」と呼び分けます。

 ファイルタイプ「フォルダ」では両者の違いがはっきり出てきす。もう一度上の「ドライブのコンテキストメニュー」と「マイコンピュータのコンテキストメニュー」を見てほしいのですが、ドライブの方は、「エクスプローラ(E)」が標準で、マイコンピュータの方は「開く(O)」が標準になっています。この違いに気づいた人いますか。

Q:(貴子)
 本当だ。全然気が付かなかったわ。ドライブとマイコンピュータで違うっていうこと?

A:(延さん)
 いや、そういう違いではないんだ。ドライブやフォルダなどのオブジェクトを表示しているエクスプローラの形式によるんだよ。上記のサンプルはわざと違う形式のエクスプローラで表示している時に出しているんだ。ドライブの方は「エクスプローラ形式のエクスプローラ」で出しています。一方マイコンピュータはデスクトップにあるマイコンピュータから出していますが、前述のようにデスクトップは「フォルダ形式のエクスプローラ」ですね。

 つまりドライブにしろ、マイコンピュータにしろ、ファイルタイプ「フォルダ」を継承しているものは、現在それを表示しているエクスプローラの形式によって、標準アクションがダイナミックに変化するのです。

Q:(憲さん)
 これは驚くべき事実ですね。全く知りませんでした。

A:(延さん)
 確かにこのことも「目から鱗」賞なんだけど、更にここでさっきの2種類の「標準アクション」が関わってくるんだ。もしファイルタイプ「フォルダ」の標準アクションを「強い標準アクション」にしてしまうと、このダイナミック性が失われてしまうんだよ。

 つまり「エクスプローラ形式のエクスプローラ」でも「フォルダ形式のエクスプローラ」でも「強い標準アクション」に指定されたアクションが常に標準アクションになってしまうということです。これを避けるためにも、このファイルタイプに関しては必ず「緩やかな標準アクション」にしておいてほしいですね。

 今のところこのように「強い標準アクション」と「緩やかな標準アクション」の違いで動作上の違いがでてくるのを確認できているのはファイルタイプ「フォルダ」だけですがね。

 どうです皆さん、すごいTipsでしょ。

Q:(初心者の皆さん)
 御意!


戻る

PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル